package com.saydc.forms.promociones;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

import com.saydc.dao.EmpleadosDAO;

public class BusquedaEmpleadoForm extends ActionForm {
	
	private static final long serialVersionUID = 1L;
	private int busqueda;
	private String legajo;
	private String nombre;
	
	private final int BUSQUEDA_X_LEGAJO = 1;
	private final int BUSQUEDA_X_NOMBRE = 2;
	
	public int getBusqueda() {
		return busqueda;
	}
	public void setBusqueda(int busqueda) {
		this.busqueda = busqueda;
	}
	public String getLegajo() {
		return legajo;
	}
	public void setLegajo(String legajo) {
		this.legajo = legajo;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	
	@Override
	public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
		ActionErrors errors = new ActionErrors();
		if( busqueda == BUSQUEDA_X_LEGAJO && (legajo == null || legajo.length() < 1)){
			errors.add("legajoRequired", new ActionMessage("error.legajo.required"));
		}
		if( busqueda == BUSQUEDA_X_NOMBRE && (nombre == null || nombre.length() < 1)){
			errors.add("nombreRequired", new ActionMessage("error.nombre.required"));
		}
		EmpleadosDAO dao = EmpleadosDAO.getInstance();
		if( busqueda == BUSQUEDA_X_LEGAJO && (legajo != null && dao.buscarEmpleadoPorLegajo(legajo) == null)){
			errors.add("usuarioInexistente", new ActionMessage("error.usuario.inexistente"));
		}
		if( busqueda == BUSQUEDA_X_NOMBRE && (nombre != null && dao.buscarEmpleadoPorNombre(nombre) == null)){
			errors.add("usuarioInexistente", new ActionMessage("error.usuario.inexistente"));
		}
		return errors;
	}
	
}
